package cn.edu.lsnu.mbti.util;

import java.lang.reflect.Method;

public class URLOpener {

    public static void openURL(String url) {

        String osName = System.getProperty("os.name");

        try {

            if (osName.startsWith("Mac OS")) {

                Method openURL = Class.forName("com.apple.eio.FileManager").getDeclaredMethod("openURL",

                        new Class[] { String.class });

                openURL.invoke(null, new Object[] { url });

            } else if (osName.startsWith("Windows")) {

                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);

            } else { // assume Unix or Linux

                String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };

                String browser = null;

                for (int count = 0; count < browsers.length && browser == null; count++) {

                    if (Runtime.getRuntime().exec(

                            new String[] { "which", browsers[count] }).waitFor() == 0) {

                        browser = browsers[count];

                    }

                }

                if (browser == null) {

                    throw new Exception("Could not find web browser");

                } else {

                    Runtime.getRuntime().exec(new String[] { browser, url });

                }

            }

        } catch (Exception ex) {

        }

    }

    public static void main(String[] args) {

        openURL("https://www.16personalities.com/ch");

    }

}